<template>
	<view>
		<CameraPreview ref="CameraPreview"></CameraPreview>
	</view>
</template>

<script>
	export default {
		data() {
			return {

			}
		},
		onLoad() {
			//script部分
			//是否后置摄像头
			
				this.$refs.CameraPreview.setIsbackCamera(true);
				//启动预览
				// v3.14版本新增 {scale:'16:9'} 支持4:3 16:9  （android 额外支持1:1 ）
				// v3.19版本新增录像权限开关以及权限检测是否弹出去设置开关
				this.$refs.CameraPreview.start({
					scale: '16:9', //成像比例，默认16:9
					noRecordPermissions: true, //是否不申请录像权限，默认不申请录像权限（如果false，需要在hbuild里自己勾选READ_MEDIA_AUDIO、READ_MEDIA_VIDEO、RECORD_AUDIO权限）
					showSetting: true, //没有权限是否提示去设置，默认提示去设置
				}, res => {});
				//停止预览
				this.$refs.CameraPreview.stop(); //建议放到onHide(){}
				//销毁相机
				this.$refs.CameraPreview.destroy(); //建议放到onUnload(){}
				
				//设置焦距(0-99) v3.05 新增
				this.$refs.CameraPreview.setZoom(this.zoom)
				
				//正常拍照
				this.$refs.CameraPreview.takePhoto({
						quality: 90, //返回图像质量 默认90  1-100
						width: 300, //返回图像宽度 默认300  原图（能拿到的最大图像）设置0 
						returnFile: false, //是否返回文件  默认false
						savePath: '', //文件保存路径（绝对路径，非必填）如 plus.io.convertLocalFileSystemURL(_downloads/xxxx/)
						fileName: '', //文件保存文件名(非必填)如 demo.jpg
						// crop: [0, 0, 50, 50]: [] //成像自动裁剪，可以不传 ,0 0 50 50 表示右上方1/4区域
						//4个参数分别代表 xywh 其中xw是参考宽度的百分比，yh参考的高度的百分比
					},
					res => {
						//这里返回需要的图像数据
					}
				);
				//无声拍照方案
				//1.开启监听视频帧
				this.$refs.CameraPreview.startFrameListen(res => {});
				//2.获取帧（停止监听前，可以快速重复调用）
				this.$refs.CameraPreview.getFrameData({
						quality: 50, //返回图像质量 默认90  1-100
						width: 300, //返回图像宽度 默认300   原图（能拿到的最大图像）设置0 
						// crop: [0, 0, 50, 50]: [] //成像自动裁剪，可以不传 ,0 0 50 50 表示右上方1/4区域
						//4个参数分别代表 xywh 其中xw是参考宽度的百分比，yh参考的高度的百分比
					},
					res => {
						//这里返回需要的图像数据
					}
				);
				//3.停止监听
				this.$refs.CameraPreview.stopFrameListen(res => {});
				
				//获取指定像素点的颜色 （百分比）
				this.$refs.CameraPreview.getColor([50, 50], res => {
					//res.color;
				});
				
				//切换前后摄像头
				this.$refs.CameraPreview.switchCamera(res => {});
				
				//开启闪光灯（仅支持后摄）
				this.$refs.CameraPreview.setFlash(true);
				//关闭闪光灯（仅支持后摄）
				this.$refs.CameraPreview.setFlash(false);
				
				//设置相机曝光度
				//获取曝光度的可设置范围（考虑到每个手机范围不同）
				this.$refs.CameraPreview.getExposureCompensationVal(res => {
					//设置曝光度 res.data.min ～ res.data.max 默认0
					this.$refs.CameraPreview.setExposureCompensation(res.data.max);
				});
				
				//以下是录像功能
				// 1.在start的时候需要将noRecordPermissions设置为false
				// 2.并且在hbuild项目的模块设置里勾选录像功能
				// 3.在权限配置里里增加   <uses-permission android:name="android.permission.RECORD_AUDIO"/>
				
				//开始录象
				//保存视频文件，需要转换成绝对路径，路径可按需配置
				const savePath = plus.io.convertLocalFileSystemURL('_doc/video/')
				// orientation 视频旋转 默认 270，可以不传 (仅android)，部分前置默认不传递，后置需要传90，录制出来的视频方向不对，根据需求自行适配
				// profile 分辨率，支持以下配置
				// 1080P = 6;
				// 2160P = 8;
				// 480P = 4;
				// 720P = 5;
				// Low = 3;
				// High = 1;
				// savePath  保存路径
				
				this.$refs.CameraPreview.startRecord({
					profile: 5,
					savePath: savePath,
					orientation: 90
				}, res => {
					console.log('开始录像')
				})
				
				//如果调用没啥反应，大概率是权限没设置好，请参考上面的配置
				this.$refs.CameraPreview.stopRecord(res => {
					console.log(res) // res.path 录像文件路径
				})
				
				//如需要更多功能，请联系作者进行补充  qq:37894663	
			
			
		},
		
	}
</script>